home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Over 1,000 Windows 95 Programs
/
Over 1000 Windows 95 Programs (Microforum) (Disc 2).iso
/
1074
/
setup.mst
< prev
next >
Wrap
Text File
|
1997-04-16
|
7KB
|
250 lines
'**************************************************************************
'* MSSetup Toolkit Sample 1
'**************************************************************************
'$DEFINE DEBUG ''Define for script development/debugging
'$INCLUDE 'setupapi.inc'
'$INCLUDE 'msdetect.inc'
DECLARE FUNCTION MaxWindow LIB "mscuistf.dll" ( hWnd% ) AS INTEGER
''Dialog ID's
CONST WELCOME = 100
CONST ASKQUIT = 200
CONST DESTPATH = 300
CONST EXITFAILURE = 400
CONST EXITQUIT = 600
CONST EXITSUCCESS = 700
CONST OPTIONS = 800
CONST APPHELP = 900
CONST BADPATH = 6400
''Bitmap ID
CONST LOGO = 1
GLOBAL DEST$ ''Default destination directory.
GLOBAL OPTCUR$ ''Option selection from option dialog.
DECLARE SUB Install
DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
INIT:
n% = MaxWindow( HwndFrame )
TITLE$ = "The Juker Setup"
DEST$ = "C:\JUKER"
OPTCUR$ = "3"
CUIDLL$ = "mscuistf.dll" ''Custom user interface dll
SetBitmap CUIDLL$, LOGO
SetTitle TITLE$
szInf$ = GetSymbolValue("STF_SRCINFPATH")
IF szInf$ = "" THEN
szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
END IF
ReadInfFile szInf$
'$IFDEF DEBUG
i% = SetSizeCheckMode(scmOnIgnore) '' could use scmOff; def = scmOnFatal
WinDrive$ = MID$(GetWindowsDir, 1, 1)
IF IsDriveValid(WinDrive$) = 0 THEN
i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
GOTO QUIT
END IF
'$ENDIF ''DEBUG
WELCOME:
sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", 0, "")
IF sz$ = "CONTINUE" THEN
UIPop 1
ELSEIF sz$ = "REACTIVATE" THEN
GOTO WELCOME
ELSE
END
END IF
OPTION:
SetSymbolValue "RadioDefault", OPTCUR$
OPTL1:
sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", 0, "")
OPTCUR$ = GetSymbolValue("ButtonChecked")
IF sz$ = "CONTINUE" THEN
UIPop 1
ELSEIF sz$ = "REACTIVATE" THEN
GOTO OPTL1
ELSE
UIPop 1
GOTO WELCOME
END IF
GETPATH:
SetSymbolValue "EditTextIn", DEST$
SetSymbolValue "EditFocus", "END"
GETPATHL1:
sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", 0, "")
DEST$ = GetSymbolValue("EditTextOut")
IF sz$ = "CONTINUE" THEN
IF IsDirWritable(DEST$) = 0 THEN
GOSUB BADPATH
GOTO GETPATHL1
END IF
UIPop 1
ELSEIF sz$ = "REACTIVATE" THEN
GOTO GETPATHL1
ELSE
UIPop 1
GOTO WELCOME
END IF
Install
QUIT:
ON ERROR GOTO ERRQUIT
IF ERR = 0 THEN
dlg% = EXITSUCCESS
'' ELSEIF ERR = STFQUIT THEN
'' dlg% = EXITQUIT
ELSE
dlg% = EXITFAILURE
END IF
QUITL1:
sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
GOTO QUITL1
END IF
UIPop 1
END
ERRQUIT:
i% = DoMsgBox("A fatal error occured -- maybe setup is corrupt?", "Fatal Error", MB_OK+MB_TASKMODAL+MB_ICONHAND)
END
BADPATH:
sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
GOTO BADPATH
END IF
UIPop 1
RETURN
ASKQUIT:
sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
IF sz$ = "EXIT" THEN
UIPopAll
ERROR STFQUIT
ELSEIF sz$ = "REACTIVATE" THEN
GOTO ASKQUIT
ELSE
UIPop 1
END IF
RETURN
'**
'** Purpose:
'** Builds the copy list and performs all installation operations.
'** Arguments:
'** none.
'** Returns:
'** none.
'*************************************************************************
SUB Install STATIC
SrcDir$ = GetSymbolValue("STF_SRCDIR")
CreateDir DEST$, cmoNone
WINDIR$ = GetWindowsDir()
SYSDIR$ = GetWindowsSysDir()
AddSectionFilesToCopyList "Common Files", SrcDir$, DEST$
'' AddSectionFilesToCopyList "Windows", SrcDir$, WINDIR$
IF OPTCUR$ = "3" THEN
AddSectionFilesToCopyList "Option Files", SrcDir$, DEST$
AddSectionFilesToCopyList "System", SrcDir$, SYSDIR$
ELSE
AddSectionKeyFileToCopyList "Option Files", OPTCUR$, SrcDir$, DEST$
AddSectionKeyFileToCopyList "System", OPTCUR$, SrcDir$, SYSDIR$
ENDIF
CopyFilesInCopyList
SysIni$ = MakePath(WINDIR$, "SYSTEM.INI")
CreateIniKeyValue SysIni$, "mciseq.drv", "disablewarning", "true", cmoNone
CreateIniKeyValue "WIN.INI", "mci extensions", "wav", "waveaudio", cmoNone
CreateIniKeyValue "WIN.INI", "mci extensions", "mid", "sequencer", cmoNone
CreateIniKeyValue "WIN.INI", "mci extensions", "mid", "sequencer", cmoNone
CreateIniKeyValue "WIN.INI", "mci extensions", "avi", "AVIVideo", cmoNone
CreateIniKeyValue "WIN.INI", "Extensions", "alb", MakePath(DEST$,"juker16.exe ^.alb"), cmoOverwrite
IF OPTCUR$ = "1" OR OPTCUR$ = "3" THEN
CreateProgmanItem "MMS Multimedia", "The Juker - 16bit", MakePath(DEST$,"juker16.exe"), "", cmoOverwrite
ELSEIF OPTCUR$ = "2" THEN
CreateProgmanItem "MMS Multimedia", "The Juker - 32bit", MakePath(DEST$,"juker32.exe"), "", cmoOverwrite
ENDIF
CreateProgmanGroup "MMS Multimedia", "", cmoNone
ShowProgmanGroup "MMS Multimedia", 1, cmoNone
IF OPTCUR$ = "3" THEN
CreateProgmanItem "MMS Multimedia", "The Juker - 16bit", MakePath(DEST$,"juker16.exe"), "", cmoOverwrite
CreateProgmanItem "MMS Multimedia", "The Juker - 32bit", MakePath(DEST$,"juker32.exe"), "", cmoOverwrite
'' CreateProgmanItem "MMS Multimedia", "The Juker - 32bit", MakePath(DEST$,"juker32.exe"), "juker32.ico", cmoOverwrite
ELSEIF OPTCUR$ = "1" THEN
CreateProgmanItem "MMS Multimedia", "The Juker - 16bit", MakePath(DEST$,"juker16.exe"), "", cmoOverwrite
ELSEIF OPTCUR$ = "2" THEN
CreateProgmanItem "MMS Multimedia", "The Juker - 32bit", MakePath(DEST$,"juker32.exe"), "", cmoOverwrite
'' CreateProgmanItem "MMS Multimedia", "The Juker - 32bit", MakePath(DEST$,"juker32.exe"), "juker32.ico", cmoOverwrite
ENDIF
CreateProgmanItem "MMS Multimedia", "The Juker's Help", MakePath(DEST$,"juker.hlp"), "", cmoOverwrite
CreateProgmanItem "MMS Multimedia", "The Juker's Survey", MakePath(DEST$,"survey.txt"), "", cmoOverwrite
CreateProgmanItem "MMS Multimedia", "Default Album", MakePath(DEST$,"default.alb"), "", cmoOverwrite
END SUB
'**
'** Purpose:
'** Appends a file name to the end of a directory path,
'** inserting a backslash character as needed.
'** Arguments:
'** szDir$ - full directory path (with optional ending "\")
'** szFile$ - filename to append to directory
'** Returns:
'** Resulting fully qualified path name.
'*************************************************************************
FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
IF szDir$ = "" THEN
MakePath = szFile$
ELSEIF szFile$ = "" THEN
MakePath = szDir$
ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
MakePath = szDir$ + szFile$
ELSE
MakePath = szDir$ + "\" + szFile$
END IF
END FUNCTION